Printing control method and apparatus

ABSTRACT

This invention relates to a printing control method and apparatus, a computer program product, and the like in which printing data is held in a hierarchical structure and a printing job is issued to a printer to cause the printer to print. In the printing control method according to the present invention, different setting values can be set in the lower and upper layers of the hierarchical structure as printing setting data containing double-sided printing or single-sided printing setting. When a setting value different from that of the upper layer is set in the lower layer of the hierarchical structure, the printer is instructed on a setting in the lower layer for each printing data to which the setting value is applied.

This application is a continuation of application Ser. No. 11/073,716,filed Mar. 8, 2005, now allowed, which is a continuation of applicationSer. No. 10/724,761, filed Dec. 2, 2003, now U.S. Pat. No. 6,883,981,the contents of each of which are incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates to a printing control method and apparatuswhich combine output data generated by various programs such as adocument processing program and image editing program into one document,provide an editing function for the document, and issue a printing jobto a printing apparatus to cause the printing apparatus to print.

BACKGROUND OF THE INVENTION

When a printer prints document data, image data, or the like generatedby an application program for document processing, image processing, orthe like that is executed by a computer, the user can change printingsettings within the range of functions provided by the application,printer, operating system, and the like. In general, printing settingsare given for each printing job which is a printing processing executionunit for a set of data to be printed, control codes, and the like. Forexample, when the user is to print one document at different settings,parts having common settings are printed as one printing job. The usermust perform this operation for a plurality of printing settings, andthen combine printouts into a document. In other words, as far as dataare printed by one printing job, common printing settings are applied toeach part.

For this reason, one printing job cannot include partially differentprinting settings such as double-sided printing parts and single-sidedprinting parts. To print a document including double-sided printingparts and single-sided printing parts, only the following methods areselected.

(1) As described above, double-sided printing parts and single-sidedprinting parts are printed by separate printing jobs, and then combinedinto a document by the user.

(2) As for single-sided printing parts, blank pages corresponding tolower surfaces are inserted in advance by the user every other printingpage (which is one surface of a printing sheet and also called aphysical page). A completed document is printed in accordance withdouble-sided printing setting. In this case, blank pages may be insertedby executing a program having a blank sheet insertion function by acomputer.

Method (1) causes the user to work, and the user is constrained toprinting work at low productivity.

In method (2), originally unnecessary blank pages must be printed. Thisprolongs the time taken for printing processing, decreasing theproductivity. When a maintenance contract to charge the user for eachpage is made for a printer for use between the user and the manufactureror the like, the user is also charged even for a blank page inserted ata single-sided printing part.

In this manner, single-sided printing or double-sided printing can onlybe set for each printing job. Demands have arisen for dividing aprinting job and generating the entity of data to be printed inaccordance with printing settings.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the abovesituation, and has as its object to provide an information processingapparatus, printing data generation method, and printing control programwhich can print a document including both single-sided printing anddouble-sided printing by one printing job, create an expressivedocument, and perform efficient printing in terms of the speed andmaintenance cost without printing any wasteful blank page by generatinga printing job which holds single-sided printing or double-sidedprinting setting as a partial setting value in a document to be printed,and causing a printer to execute the printing job.

The present invention has been made in consideration of the abovesituation, and comprises the following arrangement.

(1) A printing control method of holding printing data in a hierarchicalstructure and issuing a printing job to a printer to cause the printerto print comprises

a setting step capable of setting different setting values in a lowerlayer and an upper layer of the hierarchical structure as printingsetting data containing double-sided printing or single-sided printingsetting, and

an instruction step of, when a setting value different from a settingvalue of the upper layer is set in the lower layer of the hierarchicalstructure, instructing the printer on a setting in the lower layer foreach printing data to which the setting value is applied.

(2) In (1), the setting step includes a determination step ofdetermining whether the printer copes with a change in the printingsetting data during a printing job, and when the printer is determinedto cope with the change, different setting values can be set in thelower layer and the upper layer of the hierarchical structure.

(3) In (1), the method further comprises a printer setting step ofsetting a printer for use, and in the printer setting step, whether anewly set printer copes with a change in the printing setting dataduring a printing job is determined, and when the printer is determinednot to cope with the change and different setting values are set in thelower layer and the upper layer, setting is so changed as to make thesetting value of the lower layer coincide with the setting value of theupper layer.

(4) In (3), in the printer setting step, when the newly set printer isdetermined not to cope with the change in the printing setting dataduring the printing job and different setting values are set in thelower layer and the upper layer, a warning to change setting isgenerated to a user before setting is so changed as to make the settingvalue of the lower layer coincide with the setting value of the upperlayer.

(5) In (1), a setting in the upper layer includes a setting of a wholedocument, and a setting in the lower layer includes a setting of achapter obtained by dividing the document.

(6) Alternatively, a document processing method of processing originaldata having a printing format as an attribute, comprises

a step of giving an attribute to each node and holding the original datain a tree structure; and

a step of setting, as an attribute of the entire original data, anattribute representing whether to print on only one side or two sides ofa paper sheet, setting, as an attribute of each node, an attributerepresenting printing on only one side or the two sides of the papersheet, allowing independently setting the attributes, and switching aprinting method in accordance with the attribute.

(7) In (6), when an output apparatus cannot switch the printing methodduring printing, setting of the attribute at each node is inhibited.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a block diagram showing an example of the softwareconfiguration of a stand-alone document processing system according toan embodiment;

FIG. 2 is a block diagram showing an example of a hardware configurationwhich implements the document processing system according to theembodiment;

FIG. 3 is a view showing an example of a book file structure;

FIGS. 4A and 4B are tables showing a list of book attributes;

FIG. 5 is a table showing a list of chapter attributes;

FIG. 6 is a table showing a list of page attributes;

FIG. 7 is a flow chart showing an example of a sequence of opening abook file;

FIG. 8 is a view showing an example of a user interface window when anew book file is opened;

FIG. 9 is a view showing an example of a user interface window when anexisting book file is opened;

FIG. 10 is a flow chart showing an example of a sequence of importing apage-storing file to a book file;

FIG. 11 is a flow chart showing an example of a sequence of convertingapplication data in step 801 of FIG. 10 into a page-storing file;

FIG. 12 is a view showing an example of a data structure used inprinting or display;

FIG. 13 is a block diagram showing an example of the softwareconfiguration of a client-server document processing system;

FIG. 14 is a view showing an example of a dialog window for setting awhole document serving as the uppermost layer of a data structure;

FIG. 15 is a view showing an example of a dialog window for setting achapter serving as the intermediate layer of the data structure;

FIG. 16 is a view showing an example of setting a unique attribute inthe dialog window of FIG. 15;

FIG. 17 is a view showing an example of a dialog window for setting apage serving as the lowermost layer of the data structure;

FIG. 18 is a view showing an example of changing a setting value in thedialog window of FIG. 17;

FIG. 19 is a view showing a display example when a setting unique to achapter or page is performed;

FIGS. 20A and 20B are flow charts when a printing format is setaccording to the embodiment;

FIG. 21 is a view showing an example of a GUI according to theembodiment;

FIG. 22 is a view showing another example of the GUI according to theembodiment;

FIG. 23 is a view showing still another example of the GUI according tothe embodiment;

FIG. 24 is a view showing still another example of the GUI according tothe embodiment;

FIG. 25 is a flow chart when each setting value is read out to printaccording to the embodiment;

FIG. 26 is a flow chart showing exceptional chapter setting checkprocessing in selecting a printer for use; and

FIG. 27 is a view showing an example of a despool table.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A preferred embodiment of the present invention will be described indetail below with reference to the accompanying drawings.

[Outline of Document Processing System According to Embodiment]

The outline of a document processing system according to an embodimentof the present invention will be described with reference to FIGS. 1 to13. The document processing system converts a data file created by ageneral application into a page-storing file by a printing data savedriver. A printing control application provides a function (editingfunction) of editing an electronic original file, and a function(printing setting function) of setting a printing format. The editingfunction includes a function of changing the page order of the documentof an electronic original file, and a function of managing a wholedocument, chapters, and pages in a hierarchical structure. The printingsetting function enables the printing layout such as double-sidedprinting/single-sided printing/bookbinding printing, the printing formatsuch as stapling/non-stapling and stapling position, and varioussettings such as color printing/monochrome printing, which areconventionally set as the properties of a printer driver. As the featureof the printing setting function, various settings described above canbe individually set in a predetermined unit (whole document, chapter, orpage) divided by the editing function. These settings are independent ofa printer driver, unlike conventional settings by a printer driver. Aprinting control application 104 according to the present invention canperform various printing settings independently of a printer driver 106at an output destination. For a page-storing file edited by the printingcontrol application, an editing information file corresponding to thepage-storing file is generated and saved. The contents of thepage-storing file are read out for printing by a printing application(also called a despooler) via the printing control application. In thisexample, a general application, printing data save driver, printingcontrol application, and printing application are separately describedfor distinction between these functions. However, a package provided tothe user is not limited to them, and an application or graphic engine asa combination of them may be provided, details of which will bedescribed below.

<Example of Hardware Configuration of Document Processing SystemAccording to Embodiment>

FIG. 2 is a block diagram for explaining the configuration of thedocument processing system according to the embodiment. The presentinvention can be applied to a single apparatus, a system comprised of aplurality of devices, or a system which is connected via a network suchas a LAN or WAN and performs processing, as far as the function of thepresent invention is executed.

In FIG. 2, a host computer 100 comprises a CPU 201, RAM 202, ROM 203,and the like. The CPU 201 executes document processing in which figures,images, characters, tables (including spreadsheets and the like), andthe like coexist, on the basis of a document processing program or thelike stored in the program ROM of the ROM 203 or an external memory 211.The CPU 201 comprehensively controls devices connected to a system bus204. The program ROM area of the ROM 203 or the external memory 211stores, e.g., an operating system program (to be referred to as an OShereinafter) serving as the control program of the CPU 201. The font ROMarea of the ROM 203 or the external memory 211 stores, e.g., font dataused in document processing. The data ROM area of the ROM 203 or theexternal memory 211 stores various data used in document processing orthe like. The RAM 202 functions as a main memory, work area, or the likefor the CPU 201.

A keyboard controller (KBC) 205 controls a key input from a keyboard 209or a pointing device (not shown). A CRT controller (CRTC) 206 controlsthe display of a CRT display (CRT) 210. A disk controller (DKC) 207controls access to the external memory 211 such as a hard disk (HD) orFloppy® disk (FD). The external memory 211 stores a boot program,various applications, font data, user files, edited files, a printercontrol command generation program (to be referred to as a printerdriver hereinafter), and the like. A printer controller (PRTC) 208 isconnected to a printer 107 via a bidirectional interface (interface) 21,and executes communication control processing with the printer 107.

The CPU 201 executes, e.g., rasterization processing of an outline fontto a display information RAM set in the RAM 202, and enables WYSIWYG onthe CRT display 210. The CPU 201 opens various registered windows andexecutes various data processes on the basis of commands designated onthe CRT 210 with a mouse cursor (not shown) or the like. When the userexecutes printing, he/she opens a printing setting window provided bythe printer driver, and can perform setting of a printer and setting ofa printing processing method to the printer driver that includesselection of a printing mode.

The printer 107 is controlled by a CPU 312. The printer CPU 312 outputsan image signal as output information to a printing unit (printerengine) 317 connected to a system bus 315 on the basis of a controlprogram stored in the program ROM area of a ROM 313 or a control programstored in an external memory 314. The program ROM area of the ROM 313stores, e.g., the control program of the CPU 312. The font ROM area ofthe ROM 313 stores, e.g., font data used to generate the outputinformation. The data ROM area of the ROM 313 stores, e.g., informationused in the host computer for a printer having no external memory 314such as a hard disk.

The CPU 312 can communicate with the host computer via an input unit318, and notify the host computer 100 of internal printer information orthe like. A RAM 319 functions as a main memory, work area, or the likefor the CPU 312, and the memory capacity can be expanded by an optionalRAM connected to an expansion port (not shown). The RAM 319 is used asan output information mapping area, environment data storage area,NVRAM, or the like. Access to the external memory 314 such as a harddisk (HD) or IC card is controlled by a memory controller (MC) 320. Theexternal memory 314 is connected as an option, and stores font data,emulation programs, form data, and the like. Reference numeral 321denotes an operation panel having operation switches, an LED display,and the like.

The number of external memories 314 is not limited to one, and aplurality of external memories 314 may be arranged. A plurality ofexternal memories which store an option card and a program forinterpreting the printer control languages of different language systemsin addition to built-in fonts may be connected. Further, an NVRAM (notshown) may be adopted to store printer mode setting information from theoperation panel 321.

<Example of Software Configuration of Document Processing SystemAccording to Embodiment>

FIG. 1 is a block diagram showing the software configuration of thedocument processing system according to the embodiment.

The document processing system is implemented by a digital computer 100(to be also referred to as a host computer hereinafter) as an embodimentsuited to the document processing apparatus (information processingapparatus) of the present invention. A general application 101 is anapplication program which provides functions such as wordprocessing,spreadsheet, photo-retouch, draw, paint, presentation, and text editing.The general application 101 has a function of requesting printingprocessing of an operating system (OS). Such applications utilize apredetermined interface provided by the OS in printing application datasuch as created document data or image data. To print created data, theapplication 101 transmits an output command in a predetermined format tothe output module of the OS providing the interface. The output modulewhich has received the output command converts it into a formatprocessible by an output device such as a printer, and outputs theconverted command. Since the format processible by the output devicechanges depending on the type of device, the manufacturer, and themodel, a device driver is provided for each device. The OS converts acommand by using the device driver, generates printing data, andcombines printing data by JL (Job Language) to generate a printing job.

When the OS is Microsoft Windows®, the output module is a GDI (GraphicDevice Interface) module. The application 101 calls a GDI function byusing the created data as a parameter of a format complying with theGDI. As a result, the above-described output command is sent to the OS.

A printing data save driver 102 is an improvement of the above-mentioneddevice drivers, and is a software module provided to implement thedocument processing system. The printing data save driver 102 does nottarget a specific output device, and converts an output command into aformat processible by the printing control application 104 or printerdriver 106 (to be described later). The format (to be referred to as a“page-storing file format” hereinafter) converted by the printing datasave driver 102 is not particularly limited as far as the documentstructure and each original page can be expressed by a detailed format.As the format which expresses each original page, the PDF format byAdobe Systems and the SVG format can be adopted as page-storing files.

In the embodiment, a page-storing file 103 and editing information file111 are processed as separate files, but when no file is opened, arecombined as an archive file in order to hold the unity.

In the system shown in FIG. 1, data contents saved in the page-storingfile 103 can be processed. This realizes a function not provided to anapplication which creates an original, such as a function ofenlarging/reducing printing data from an application or a function ofreducing a plurality of pages into one page and printing the page. Forthis purpose, the system in FIG. 1 is expanded from a conventional oneso as to spool intermediate code data. Processing of printing data isgenerally set through a window provided by the printing controlapplication 104, and the setting contents are saved in the RAM 202 orexternal memory 211.

As shown in FIG. 1, according to the extended processing method,printing data from the application 101 is saved as the page-storing file103 in the system via the printing data save driver 102. Thepage-storing file 103 is also called an intermediate file, and containscontent data of a print material, printing setting data, and the like.Content data of a print material is data prepared by converting datacreated in an application by the user into an intermediate code.Printing setting data is data which describes how to output content data(output format or the like). In addition, the page-storing file 103contains application extension data called an editing information filefor providing a user interface when the printing control applicationcauses the user to edit the contents of a page-storing file or issue anoutput instruction.

The contents of the page-storing file 103, and particularly printingsetting data are updated by the printing control application 104. Theprinting control application 104 can display printing settings such asthe output format, cause the user to change printing settings, and savethe changed settings. At this time, printing settings are also reflectedin attribute data of the editing information file together with printingsetting data of the page-storing file.

Printing processing is actually executed by the printing application(despooler) 105. The printing application (despooler) 105 which hasreceived a printing command from the printing control application 104inputs data to a graphic engine 121 in a predetermined format such as aGDI function in accordance with the output format set by the printingcontrol application 104. The graphic engine 121 converts the input dataof the GDI function format or the like into a DDI function, and outputsthe DDI function to the printer driver 106. The printer driver 106generates a printer control command of the page description language orthe like on the basis of the DDI function acquired from the graphicengine 121, and outputs the command to the printer 107 via a systemspooler 122. FIG. 1 illustrates one printer driver 106 for descriptiveconvenience. However, the printing application 104 of the presentinvention is independent of the printer driver, and in printing, anarbitrary printer driver can be selected as an output destination from aplurality of printer drivers which are held in the document processingapparatus (information processing apparatus) 100, similar to a generalapplication.

<Example of Data Format of Permanent File>

Before a detailed description of the printing control application 104,the data format of the page-storing file will be described. Thepage-storing file contains data of each original page (data of each pagegenerated by an application: to be also referred to as a logical page)as content data, and data of a job ticket format as printing settingdata. An editing information file for changing setting of printingsetting information contained in the page-storing file is also stored bythe printing control application (to be described later) together withthe page-storing file. In some cases, a DEVMODE structure for sending aprinting instruction to a driver by using a GDI function is contained.

In the page-storing file, original page data is defined by the PDFformat or the like, and contains designation of the character font andcolor, and layout information of characters, figures, and the likewithin an original page. In the page-storing file, original page data ofthe PDF format and data of the job ticket format are intermediate data.

The job ticket serving as a page-storing file is data having a structurewhose minimum unit is an original page. The structure of the job ticketdefines the layout of an original page on a paper sheet. The node of thewhole document is set at the top of the structure, and defines theattribute of the whole document such as double-sidedprinting/single-sided printing. This node is accompanied with a documentstructure and information representing setting of each buildingcomponent. More specifically, a sheet bundle node belongs to thedocument node, and contains attributes such as the identifier of paperfor use and designation of a feed port in the printer. The node of asheet contained in the sheet bundle belongs to each sheet bundle node.One sheet corresponds to one paper sheet. A printing page (physicalpage) belongs to each sheet. One physical page belongs to one sheet insingle-sided printing, and two physical pages belong to one sheet indouble-sided printing. An original page to be laid out on a physicalpage belongs to the physical page. The physical page attribute containsan original page layout. An original page contains associationinformation (link information) to original page data which is the entityof the original page.

Each node is given a setting value such as the printing format.

Settings of the whole document include pieces of following information.

(1) Layout information (e.g., so-called N-up printing setting of layingout N pages on one physical page) and order of original pages on aphysical page (sheet surface of a printing medium)

(2) Document name

(3) Double-sided designation or not

(4) Variable printing (technique of embedding separately prepared datain the contents of a predetermined column and printing the resultantdata) or not

(5) The number of contained original pages

(6) Color type

(7) The number of copies, etc.

(8) Watermark (ground pattern superposed on an original page or printingpage)

(9) Printer state

(10) Medium type

(11) Logical page number list on a sheet

(12) Printing quality, etc.

As for printing settings of each sheet bundle, the following parameterscan be set.

(13) Designation of N-up printing

(14) Color type

(15) Paper source

As for printing settings of each sheet belonging to each sheet bundle,the following parameter can be set.

(16) Setting of double-sided/single-sided printing

As for printing settings of each physical page (plane) belonging to eachsheet, the following parameters can be set.

(17) Color type

(18) Designation of an upper or lower plane

As for printing settings of each original page laid out on each physicalpage, the following parameters can be set.

(19) Start coordinates

(20) Size

(21) Order

In this manner, the job ticket is data having a hierarchical structurewhose minimum unit is an original page. Most of printing settingsdefined by the job ticket are common on each layer set for eachdocument, but some printing settings such as N-up setting and color typeare common between layers. In principle, as for a common setting, alower layer inherits the same setting value as that of an upper layer.When an attribute common between layers has different values, a valueset for a layer of interest is used as the value of the attribute. Forexample, the color type can be set for a whole document, sheet bundle(set of sheets), and physical page (to be also referred to as a plane orprinting page). The color type is a setting which designates a mode inthe printing apparatus. Printing data is generated such that, if themonochrome mode is set, the printing apparatus prints in monochrome; ifthe color mode is set, prints in color. Double-sided printing can be setfor a whole document and sheet bundle.

FIG. 12 shows an example of the data structure of a job ticket. Thestructure in FIG. 12 is slightly different from the above-describedstructure in that no sheet bundle node exists, and a plane node isinserted instead immediately below a sheet node. In FIG. 12, a documentto be printed is formed by a set of sheets, and each sheet is formed bytwo, upper and lower planes. Each plane has a region (physical page) forlaying out an original, and each physical page is formed by a set oforiginal pages serving as minimum units. Reference numeral 1101 denotesdata corresponding to a document. The data 1101 is formed by data on awhole document and a list of sheet information constituting thedocument. Sheet information 1102 is formed by information on a sheetsuch as the sheet size, and a list of plane information laid out on thesheet. Plane information 1103 is formed by data unique to a plane, and alist of physical pages laid out on the plane. Physical page information1104 is formed by information such as the size and header/footer of aphysical page, and a list of original pages which form the physicalpage. The document information 1101, the sheet information 1102, theplane information 1103, the physical page information 1104, and originalpage information 1105 contain the above-described parameters.

<Document Structure Managed by Editing Information File>

The printing control application 104 is a program which provides a userinterface for causing the user to designate data contained in apage-storing file by various methods and change printing settings. Thepage-storing file is a file having the above-described structure. Theprinting control application 104 manages the above-mentioned editinginformation file in correspondence with the page-storing file in orderto manage the page-storing file. Based on editing information containedin the editing information file, the printing control application 104manages a document with a management structure independent of a documentdefined by the page-storing file, e.g., a job ticket. The managementstructure is a hierarchical structure similar to the job ticket, but isformed by layers “book”, “chapter”, and “original (logical) page” fromthe top, unlike the job ticket. Of these layers, the original pagecorresponds to the original page of the job ticket. The chaptercorresponds to the sheet bundle (set of sheets).

A virtual file displayed as a user interface is not a file which ispage-storingly saved and managed, unlike the page-storing file 103, butis temporarily created for a user interface when the user changes theprinting settings of the page-storing file or designates printing byusing the printing control application 104. The printing controlapplication 104 opens the page-storing file 103 together with acorresponding editing information file 111, creates a virtual book filehaving a structure defined by editing information from the page-storingfile, and displays the book file as a user interface. When the userchanges printing settings while referring to the book file via the userinterface, the settings are reflected in the editing information file.

<Example of Format of Editing Information File>

Before referring to details of the printing control application 104, thedata format of a book file, i.e., editing information file will beexplained. The book file has a three-layered structure similar to apaper-medium book. The upper layer is called a “book”, resembles onebook, and defines the attributes of the entire book. The intermediatelayer corresponds to a chapter in the book, and is also called a“chapter”. As for each chapter, its attributes can be defined. The lowerlayer is a “page”, and corresponds to each page defined by anapplication program. As for each page, its attributes can be defined.One book may include a plurality of chapters, and one chapter mayinclude a plurality of original pages.

FIG. 3 is a block diagram schematically showing an example of the bookfile format. A book, chapter, and page in the book file of this exampleare represented by corresponding nodes. One book file includes one book.The book and chapter are a concept for defining a book structure, andcontain, as entities, defined attribute values and links to lowerlayers. The page entity is original page data of the PDF format or thelike which is contained in the page-storing file 103. That is, theediting information file only defines the book file format andattributes, and does not contain original page data itself. The pagehas, as entities, data of each page output from an application program.The page includes an original page entity (original page data) and alink to each original page data in addition to an attribute value. Notethat a printing page to be output to a paper medium may include aplurality of original pages. This structure is displayed not by a link,but by attributes in book, chapter, and page layers.

In FIG. 3, a book file need not be one completed book, and “book” isgeneralized as “document”. Information on a document, information on achapter, and information on a page will be comprehensively calleddocument information, chapter information, and page information,respectively.

In FIG. 3, document information 401 is defined at the top. The documentinformation 401 can be roughly divided into three parts 402 to 404. Thedocument control information 402 holds information such as the path namein the file system of a document file. The document setting information403 holds layout information such as the page layout, and functionsetting information of a printing apparatus such as stapling, andcorresponds to book attributes. The chapter information list 404 holdsas a list a set of chapters which form a document. The list holdschapter information 405.

The chapter information 405 can also be roughly divided into three parts406 to 408. The chapter control information 406 holds information suchas the chapter name. The chapter setting information 407 holdsinformation on the page layout and stapling unique to the chapter, andcorresponds to chapter attributes. By holding setting information foreach chapter, a document having a complicated layout can be created suchthat the first chapter has a 2-up layout and the remaining chapters havea 4-up layout. The page information list 408 holds as a list a set oforiginal pages which form each chapter. The page information list 408designates page information data 409.

The page information data 409 can also be roughly divided into threeparts 410 to 412. The page control information 410 holds informationsuch as a page number displayed at the tree. The page settinginformation 411 holds information such as the page rotation angle andpage layout position information, and corresponds to original pageattributes. The page link information 412 is original data correspondingto a page. In this example, the page information 409 does not directlyhave original data, but has only the link information 412. Actualoriginal data is held by a page data list 413.

FIGS. 4A and 4B show a list representing an example of book attributes(document setting information 403). In general, as for an item which canbe defined repetitively on a lower layer, the attribute value of thelower layer is preferentially adopted. As for an item contained in onlythe book attribute, a value defined in the book attribute is effectiveover the book. An item repetitively defined on a lower layer is adefault value used when this item is not defined in the lower layer. Inthis example, however, whether to preferentially adopt the attributevalue of a lower layer can be selected, which will be described later.Each item shown in FIGS. 4A and 4B does not correspond to one concreteitem, but may contain a plurality of relevant items.

Items unique to book attributes are six items: printing method, detailsof bookbinding, front/back cover, index sheet, slip sheet, andchaptering. These items are defined over the book. As printing methodattributes, three values: single-sided printing, double-sided printing,and bookbinding printing can be designated. Bookbinding printing is amethod of printing data in a format which allows bookbinding by bundlinga separately designated number of paper sheets, folding the bundle intotwo, and binding the bundle. As detailed bookbinding attributes, theopening direction and the number of paper sheets to be bundled can bedesignated when bookbinding printing is designated.

The front/back cover attribute includes designation of adding papersheets serving as front and back covers when a page-storing filecombined as a book is printed, and designation of contents to be printedon the added paper sheets. The index sheet attribute includesdesignation of inserting a tabbed index sheet separately prepared in aprinting apparatus for chaptering, and designation of contents to beprinted on the index (tabbed) portion. This attribute becomes effectivewhen a printing apparatus to be used is equipped with an inserter havingan inserting function of inserting a paper sheet prepared separatelyfrom a printing sheet into a desired position, or when a plurality ofsheet cassettes can be used. This also applies to the slip sheetattribute.

The slip sheet attribute includes designation of inserting a paper sheetfed from an inserter or sheet feed cassette for chaptering, anddesignation of a sheet feed source when a slip sheet is inserted.

The chaptering attribute includes designation of whether to use a newpaper sheet, use a new printing page, or do nothing particular at achapter break. In single-sided printing, the use of a new paper sheetand the use of a new printing page are the same. In double-sidedprinting, a continuous chapter is not printed on one paper sheet if “theuse of a new paper sheet” is designated, but may be printed on theobverse and reverse of one paper sheet if “the use of a new printingpage” is designated.

FIG. 5 shows a list representing an example of chapter attributes(chapter setting information 407), and FIG. 6 shows a list representingan example of page attributes (page setting information 411). Therelationship between chapter attributes and page attributes is the sameas that between book attributes and lower layer attributes.

As for the chapter attribute, there is no item unique to the chapter,and all items overlap those of the book attribute. In general, if thedefinition of the chapter attribute is different from that of the bookattribute, a value defined by the chapter attribute precedes. In thisexample, however, whether to preferentially adopt the attribute value ofa lower layer can be selected, which will be described later.

Items common to only the book and chapter attributes are five items:paper size, paper direction, N-up printing designation,enlargement/reduction, and delivery method. The N-up printingdesignation attribute is an item for designating the number of originalpages included in one printing page. Layouts which can be designated are1×1, 1×2, 2×2, 3×3, 4×4, and the like. The delivery method attribute isan item for designating whether to staple discharged paper sheets. Theeffectiveness of this attribute depends on whether the printingapparatus has a stapling function.

Items unique to the page attribute are a page rotation attribute, zoom,layout designation, annotation, and page division. The page rotationattribute is an item for designating the rotation angle when an originalpage is laid out on a printing page. The zoom attribute is an item fordesignating the zoom ratio of an original page. The zoom ratio isdesignated based on a virtual logical page region size=100%. The virtuallogical page region is a region occupied by one original page whenoriginal pages are laid out in accordance with N-up designation or thelike. For example, the virtual logical page region is a regioncorresponding to one printing page for 1×1, and a region obtained byreducing each side of one printing page to about 70% for 1×2.

Attributes common to the book, chapter, and page are a watermarkattribute and header/footer attribute. The watermark is a separatelydesignated image or character string printed over data created by anapplication. The header and footer are watermarks printed at the upperand lower margins of each page. For the header and footer, items such asa page number, and time and date which can be designated by variablesare prepared. Contents which can be designated by the watermarkattribute and header/footer attribute are common to the chapter andpage, but are different from those of the book. The book can set thecontents of the watermark and header/footer, and designate how to printa watermark or header/footer throughout the book. To the contrary, thechapter and page can designate whether to print a watermark orheader/footer set by the book on the chapter or page.

<Example of Operation Sequence of Document Processing System Accordingto Embodiment>

The editing information file has the above-described structure andcontents. A sequence of creating the editing information file 111 andpage-storing file 103 by the printing control application 104 andprinting data save driver 102 will be explained. Creation of the editinginformation file 111 is realized as part of editing operation of theediting information file 111 by the printing control application 104.FIG. 7 shows a sequence when the printing control application 104 opensthe editing information file 111.

Whether an editing information file to be opened is one to be newlycreated or an existing one is determined (step S701). If YES in stepS701, an editing information file including no chapter is newly created(step S702). In the example shown in FIG. 3, the newly created editinginformation file is a book node having no chapter node linked to thechapter information list 404. As the book attribute, a set of attributesprepared in advance for creation of a new editing information file areapplied. A UI (User Interface) window for editing the new editinginformation file is displayed (step S704). FIG. 8 shows an example of aUI window when a book file is newly created. In this case, the book filedoes not have any substantial content, and a UI window 800 does notdisplay anything.

If NO in step S701, a designated editing information file is opened(step S704), and data are rasterized in accordance with the structure,attributes, and contents of the editing information file to display a UI(User Interface) window. FIG. 9 shows an example of the UI window. A UIwindow 900 has a tree portion 901 representing a book structure, and apreview portion 902 displaying a state to be printed. The tree portion901 displays chapters included in the book and pages included in eachchapter by a tree structure so as to exhibit a tree structure as shownin FIG. 3. Pages displayed at the tree portion 901 are original pages.The preview portion 902 displays reduced printing page contents. Thedisplay order reflects the book structure. Data mapped in the RAM 102also takes the same structure as that in FIG. 3. Attributes included inthe node of each layer are also mapped in the RAM 102 in the formatshown in FIGS. 4A to 6. For example, the structure of these attributeitems can be realized with a pointer or the like, and each item at theattribute can be identified by the identifier of the item or the like.

Original page data can be added as a new chapter to the open editinginformation file by the printing data save driver 102. This function iscalled an import function. Application data is imported to the editinginformation file newly created by the sequence of FIG. 7, and theoriginal page data is made to belong to the chapter of the editinginformation file, thereby giving an entity to the editing informationfile. This function is activated by drag-and-drop operation ofapplication data to the window of FIG. 8. FIG. 10 shows an importprocessing sequence.

In FIG. 10, an application program which has generated designatedapplication data is activated. The printing data save driver 102 isdesignated as a device driver, and application data is printed out toconvert the data into data of an intermediate format (e.g., PDF format)(step S801). After conversion, whether the converted data is image datais determined (step S802). This determination can be done on the basisof the file extension of application data under the Windows® OS. Forexample, an extension “bmp” represents Windows® bitmap data; “jpg”,jpeg-compressed image data; and “tiff”, tiff-format image data.

If NO in step S802, the intermediate data generated in step S801 isadded as a new chapter to the book of a currently open editinginformation file (step S803). That is, a new chapter and new originalpages belonging to this chapter are added by import. Link information tothe entity of an original page is written at each page node. The entityof the original page is generated by the printing data save driver 102.

In import, as for chapter attributes which are common to bookattributes, the values of the book attributes are copied. As for uniquechapter attributes, predetermined values are set.

If YES in step S802, no new chapter is added in principle, and imagedata is added to a designated chapter by using one file as one originalpage (step S804). For an empty file in which an editing information fileis newly created, a new chapter is created, and image data is added asan original page belonging to the chapter. As for the page attribute,attributes common to the attributes of an upper layer are given theattribute values of the upper layer, and attributes which are defined inapplication data and inherited to the page-storing file are given valuesdefined in the application data. For example, when N-up designation isdefined in application data, the page inherits this attribute value. Inthis way, a new editing information file is created, or a new chapter isadded.

As for a page-storing file, added original page data is newly added andsaved if data generated by the printing data save driver is an additionto an existing page-storing file. At this time, if printing settingsdesignated by an application are reflected in data generated by theprinting data save driver, the printing settings can also be reflectedin the page-storing file.

FIG. 11 is a flow chart showing a sequence of generating a page-storingfile by the printing data save driver 102 in step S801 of FIG. 10. A newpage-storing file is created and opened (step S901). An applicationcorresponding to designated application data is activated. The printingdata save driver 102 is set as a device driver to transmit an outputcommand to an OS output module (e.g., Windows® GDI). The output moduleconverts the received output command into data of a predetermined format(e.g., PDF format) by the printing data save driver 102, and outputs theconverted data (step S902). The output destination is the page-storingfile opened in step S901. Whether all designated data have beenconverted is determined (step S903), and if YES in step S903, thepage-storing file is closed (step S904). The page-storing file generatedby the printing data save driver 102 is a file which contains astructure shown in FIG. 12 and original page data entities.

<Editing of Permanent File and Editing Information File>

In the above fashion, the editing information file 111 and page-storingfile 103 can be created from application data. As for the generatedpage-storing file 103, chapters and pages defined by the editinginformation file 111 can be edited as follows.

(1) New document

(2) Delete

(3) Copy

(4) Cut

(5) Paste

(6) Move

(7) Change chapter name

(8) Reassign page number/name

(9) Insert cover

(10) Insert slip sheet

(11) Insert index sheet

(12) Page layout of each original page

In addition, an operation of canceling executed editing operation, andan operation of restoring canceled operation can be performed. Theseediting functions enable editing operations such as consolidation of aplurality of editing information files, rearrangement of chapters andpages within an editing information file, delete of chapters and pageswithin an editing information file, layout change of an original page,and insertion of a slip sheet and index sheet. By these operations,operation results are reflected in attributes shown in FIGS. 4 to 6 oron an editing information file structure. For example, a blank page isinserted into a designated portion by an operation of newly adding ablank page. The blank page is processed as an original page. If thelayout of an original page is changed, the change contents are reflectedin attributes such as the printing method, N-up printing, front/backcover, index sheet, slip sheet, and chaptering.

These editing contents are also reflected in the page-storing file. Forexample, if double-sided printing is set as a printing method for awhole document, the setting is reflected as the book attribute of theediting information file and also as setting data of the whole documentin printing setting data of the page-storing file.

<Output of Permanent File>

The ultimate goal of an editing information file created and edited inthe above manner is to print it out. If the user selects a file menufrom the UI window 900 of the printing control application shown in FIG.9 and selects printing from this menu, the editing information file isthen printed out by a designated output device. At this time, theprinting control application 104 creates data called a despool tablefrom a currently open editing information file and correspondingpage-storing file (e.g., job ticket), and transfers the despool table tothe printing application 105.

The despool table contains the same structure as that of the originaljob ticket, printing settings in respective layers, and association withoriginal pages. More specifically, printing settings such as the numberof copies, color type, and double-sided/single-sided printingdesignation which are effective for a whole document are accompanied byprinting settings such as N-up printing designation which are effectivefor a sheet bundle (set of sheets). Each sheet belonging to each sheetbundle has printing settings such as double-sided/single-sided printing.Each physical page (plane) belonging to each sheet has printing settingssuch as the color type and designation of an upper/lower plane. Theprinting settings of each layer include settable items. Settings in thedespool table are designated on physical pages in accordance with thedevice specifications. The printing application 105 converts the despooltable into a parameter to be transferred to the graphic engine 121.

The printing application 105 converts the page-storing file 103 into anOS output command, e.g., a Windows® GDI command, and calls a GDIfunction serving as a graphic engine by using the command as aparameter. The graphic engine 121 generates a command complying with adevice (e.g., printer) by the designated printer driver 121, andtransmits the command to the device.

The graphic engine 121 loads the printer driver 106 prepared for eachprinting device from the external memory 211 to the RAM 202, and setsthe output to the printer driver 106. The graphic engine 121 converts aGDI (Graphic Device Interface) function into a DDI (Device DriverInterface) function, and calls a DDI function provided by the printerdriver 106. The printer driver 106 converts the command into a controlcommand such as a PDL (Page Description Language) command recognizableby the printer on the basis of the DDI function called from the outputmodule. The converted printer control command passes through the systemspooler 122 loaded by the OS to the RAM 202, and is output as printingdata to the printer 107 via the interface 21

(Example of Preview Display Contents)

As described above, when a book file is opened by the printing controlapplication, the user interface window 900 shown in FIG. 9 is displayed.The tree portion 901 displays a tree representing the structure of theopen book (to be referred to as a “book of interest” hereinafter). Atthe preview portion, three display methods are prepared in accordancewith designation by the user. The first method is a mode called anoriginal view which directly displays original pages. In the originalview mode, the contents of original pages belonging to the book ofinterest are reduced and displayed. The display of the preview portiondoes not reflect any layout. The second method is a printing view mode.In the printing view mode, the preview portion 902 displays originalpages in a format which reflects the layout of them. The third method isa simple printing view mode. In the simple printing view mode, thecontents of original pages are not reflected in the display of thepreview portion, but only the layout is reflected.

<Another Example of Configuration of Document Processing System>

The document processing system according to the embodiment is of astand-alone type. A server-client system as an extension of thestand-alone system also creates and edits a book file by almost the sameconfiguration and sequence. A book file and printing processing aremanaged by the server.

FIG. 13 is a block diagram showing the configuration of a server-clientdocument processing system.

The client document processing system is constituted by adding to thestand-alone system a DOMS (Document Output Management Service) driver109 serving as a client module, a DOMS printing service module 110, anda DS (Document Service) client module 108. A client document processingsystem 1200 is connected to a document management server 1201,centralized printing management server 1202, and printing server 1203.These servers are generally connected to the client document processingsystem via a network. When the servers also function as clients, theyare connected by interprocess communication which simulatescommunication between networks. The document management server 1201 andcentralized printing management server 1202 are connected to the clientin FIG. 13, but only either one may exist on the network. If theconnected server is the document management server, a documentmanagement server-client system 1201SC including a client module isadded to the stand-alone document management system. If the connectedserver is the centralized printing management server 1202, a printingmanagement server-client system 1202SC including a client module isadded.

The document management server 1201 stores a book file created andedited by the printing control application 104. To manage a book file bythe document management server 1201, the book file is saved in adatabase 1211 of the document management server 1201 instead of or inaddition to the local HD of a client PC. Save and read of a book filebetween the printing control application 104 and the document managementserver 1201 are done via the DS client module 108 and a DS core 1212.

The centralized printing management server 1202 manages printing of abook file stored in the client document processing system 1200 ordocument management server 1201. A printing request from the client istransmitted to a DOMS WG server module 1221 of the centralized printingmanagement server 1202 via the DOMS driver 109 and DOMS printing servicemodule 110. To print a book file by the printer of the client, thecentralized printing management server 1202 transfers electronicoriginal data to the printing application 105 via the DOMS printingservice module 110 of the client. To print a book file by the printingserver 1203, the centralized printing management server 1202 transmitselectronic original data to a DOMS printing service module 1231 of theprinting server 1203. For example, the centralized printing managementserver executes security check on the qualification of a user who hasissued a printing request for a saved book file, or saves the printingprocessing log. In this fashion, the document processing system can beimplemented as both a stand-alone system and client-server system.

[Example of Editing Operation of Document Processing System According toEmbodiment]

FIG. 9 shows the operation window of the printing control application104. The printing control application can set the function of a printingapparatus such as stapling, in addition to editing such as a change ofthe page order of a document, copying, and delete. The printing controlapplication can cause a designated printing apparatus to print. A treeview representing a document structure is displayed in the left regionof FIG. 9. A document is formed by a set of chapters, and each chapteris formed by a set of original pages. The printing preview of each pageis displayed in the right region of FIG. 9.

<Example of Attribute Setting of Document Processing System According toEmbodiment>

FIG. 14 shows a “detailed setting for document” window 1400 of theprinting control application 104.

This window allows displaying/setting the “document setting information403”. This window is activated from the “detailed setting for document”item of a “printing format” menu on the application operation window ofFIG. 9 or a “detailed setting for document” button on the tool bar. The“detailed setting for document” window 1400 is a window for settingattributes which influence a whole document, i.e., book attributes shownin FIGS. 4A and 4B. This window is formed by five sheets “page setup”,“decoration”, “edit”, “paper source”, and “printing quality”. FIG. 14shows a state in which the “page setup” sheet is displayed. In the “pagesetup” sheet, settings mainly concerning the layout can be done.Settings such as the paper size, direction, and N-page printing can bedesignated. This window has check box controls 1401 and 1402 for thezoom.

FIG. 15 shows a “detailed setting for chapter” window 1500 of theprinting control application 104.

This window allows displaying/setting the “chapter setting information407”. This window is activated from the “detailed setting for chapter”menu of a printing setting menu on the application operation window ofFIG. 9 or a “detailed setting for chapter” button on the tool bar. The“detailed setting for chapter” window is a window for setting attributesunique to a chapter. This window is formed by four sheets “page setup”,“decoration”, “edit”, and “paper source”. FIG. 15 shows a state in whichthe page setup sheet is displayed. In the page setup sheet, settingsmainly concerning a layout unique to each chapter can be done. Settingssuch as the paper size, direction, and N-page printing can bedesignated. “Follow book attribute” check box controls 1501, 1502, and1503 are arranged for repetitive setting items between “detailed settingfor document” and “detailed setting for chapter”. For an item groupwhose check box is checked, the setting values of the document areapplied to the chapter. FIG. 16 shows a case wherein the check box isnot checked. Settings unique to a chapter can be classified into twotypes: setting items held by only a chapter, and setting items whosesetting values different from those of the document in the upper layerare held in the chapter layer.

FIG. 16 shows a state in which the check box controls 1501 and 1502 of“detailed setting for chapter” in FIG. 15 are not checked. In this case,even if the whole document uses A3 paper, pages which constitute thischapter use A4 paper. As for the layout, even if the document designatesone page/sheet, the chapter designates a layout of four pages/sheet.“Zoom arrange” is checked, and the setting values of the document in theupper layer are employed as those of the chapter.

FIG. 17 shows a “detailed setting for page” window 1700 of the printingcontrol application 104.

This window allows displaying/setting the “page setting information411”. This window is activated from the “detailed setting for page” menuof the printing format menu on the application operation window of FIG.9 or a “detailed setting for page” button on the tool bar. The “detailedsetting for page” window is a window for setting attributes unique toeach page. This window is formed by two sheets “page setup” and “edit”.FIG. 17 shows a state in which the page setup sheet is displayed. In thepage setup sheet, settings mainly concerning a layout unique to eachpage can be done, and settings such as the rotation angle andenlargement/reduction ratio in laying out an original page can bedesignated. A “follow chapter attribute” check box control 1701 isarranged for repetitive setting items between “detailed setting forchapter” and “detailed setting for page”. For an item whose check box ischecked, the setting value of the chapter is applied to the page. FIG.18 shows a case wherein the check box is not checked.

FIG. 18 shows a state in which “page rotation” setting is changed in“detailed setting for page” of FIG. 17. The control 1701 exhibits asetting of rotating and arranging an original page with the upperportion of the page oriented left in laying out the original page. Thisitem is not a repetitive setting item in the chapter and document, no“follow chapter attribute” check box exists, and the setting displayedin this window is always adopted as the setting value of the page. Whenthe control 1701 is set, the “zoom arrange” item is a repetitive settingitem in the chapter, and the setting value of the chapter is used asthat of the page.

The “zoom arrange” item is a repetitive setting item in the document.When the “follow document attribute” 1503 is checked in the “zoomarrange” item of the chapter, the setting value of the document in theupper layer is used as that of the chapter, and thus the setting valueof the document is used as that of the page. When the “zoom arrange”item is not checked in the chapter, the chapter has a unique settingvalue, and the setting value unique to the chapter is used as thesetting value of the page.

Check box control information set in the setting window may be held in adedicated region, but is desirably held as one attribute in the settinginformation shown in FIG. 3. In this case, regions for holding check boxcontrol information are added to the lists of FIGS. 5 and 6.

<Example of Document Editing Display of Document Processing SystemAccording to Embodiment>

FIG. 19 shows an example of the display format of the application when asetting item which is repeated in an upper layer does not use a settingvalue in the upper layer, i.e., when the check box control 1501 or 1701is not checked and an exceptional setting exists in a predetermined unit(in this embodiment, for each chapter or each physical page)

In the example of FIG. 19, a document is formed by two chapters“Chapter1” and “Chapter2”, and each chapter has original data of ninepages. FIG. 19 shows a display example when the layout of the firstchapter is 4-up (to be also referred to as 4-in-1 hereinafter) androtation is designated for the first page (10th page in the wholedocument) of the second chapter. Note that N-up and N-in-1 meandesignation of laying out N original pages on one printing page.

At the preview portion on the right side of FIG. 19, four original pagesare laid out on each of the first to third pages. On the fourth page, acharacter “A” is rotated.

The tree view displays a tree in a display format which clearly exhibitsto the user an exceptional setting such as a setting unique to a chapteror page, i.e., a setting of a chapter different from that of the wholedocument or a setting of a page different from that of the wholedocument. More specifically, the icon of a chapter or page having anexceptional setting is displayed with a shape, color, or design visuallyidentifiable from the icon of a chapter or page having no exceptionalsetting. In FIG. 19, an icon 1901 corresponding to the first chapterchanges in shape to exhibit that this chapter has a unique setting. Anicon 1902 corresponding to the first page of the second chapter alsochanges in shape to exhibit that this page has a special setting.

<Double-Sided/Single-Sided Setting of Each Chapter>

FIGS. 20A and 20B are flow charts showing the processing sequence of theprinting control application 104 when single-sided printing ordouble-sided printing is set for each chapter serving as an intermediatelayer.

If the user designates detailed setting for a document, the sequence ofFIG. 20A starts. A detailed setting dialog for a document is displayed(S2001). A document subjected to detailed setting is a document whichhas already been selected and opened (i.e., a page-storing file andcorresponding editing information file). In this case, a sheet displayedin detailed setting for the document is a “decoration” sheet. In FIG.21, an item 2101 is used to set the whole document to single-sidedprinting or double-sided printing. Selectable items are “double-sidedprinting”, “single-sided printing”, and “bookbinding printing”. In stepS2002, the user can set a printing method by selecting one of theoptions of the item 2101. The user properly sets detailed setting forthe document, and then clicks the “OK” button. If the “OK” button isclicked, the processing advances to step S2003, and the printing controlapplication 104 stores the set document attribute as data correspondingto the printing method item No. 1 in FIG. 4A (top column in FIG. 4A) inthe editing information file 111. At the same time, as for printingsetting data of the page-storing file, setting data of the wholedocument is updated, and the dialog window of detailed setting for thedocument shown in FIG. 21 is closed (S2003). In the example of FIG. 21,the whole document is set to double-sided printing.

If double-sided printing is set for the whole document, the printingcontrol application inserts a blank page to the lower surface of thefinal physical page for a chapter having an odd number of physicalpages. This can be realized by, for example, preparing a blank physicalpage node in advance in a job ticket, and when a physical page nodebelonging to a chapter, i.e., sheet bundle has an odd number, linkingthe prepared blank physical page node to the sheet node.

FIG. 22 shows the printing preview of a whole document when double-sidedprinting is set for the whole document. A page belonging to a chapter2201 is an image displayed on the middle stage of the preview window. Asis apparent from a page icon 2202 of the chapter 2201 displayed in thetree window, only one page belongs to the chapter 2201. The A3 size andZ-folding are exceptionally designated for the chapter 2201. Since thewhole document is set to double-sided printing, a blank page 2203 isadded to the lower plane of a page belonging to the chapter 2201. Thisis a blank page automatically inserted by the printing controlapplication, as described above.

In FIG. 20A, assume that the user opens the detailed setting dialog forthe document shown in FIG. 14 from “printing format” of the displaywindow 800 (FIG. 8) of the printing control application 104, and selectsdouble-sided printing setting for the whole document on the “decoration”sheet. If the user selects the chapter 2201 and designates a “detailedsetting for chapter” menu from the “printing format” column, processingin FIG. 20B is executed to display a detailed setting dialog shown inFIG. 23 for a selected chapter (S2005).

A setting of switching between double-sided printing and single-sidedprinting during one printing job also depends on whether the printer foruse provides this function. When a printer which does not cope withswitching between double-sided printing and single-sided printing duringone printing job is selected as a printer for use, the window in FIG. 23is entirely grayed out to inhibit any exceptional setting for thechapter by the user.

For this reason, in step S2006, whether the displayed sheet is the“decoration” sheet is determined. If YES in step S2006, whether theprinter for use copes with the above-described switching function isdetermined in step S2007. The printer function can be determined on thebasis of model-dependent information acquired by transmitting a commandby which the printer driver directly requests a function(model-dependent information) of the printer, acquiring model-dependentinformation serving as a list of functions provided by the printer, andacquiring the model-dependent information from the printer driver 106 bythe printing control application 104. This function is given to ageneral printer. As another method, the printer function can also bedetermined such that model-dependent information is held in the printerdriver in advance and acquired by the printing control application 104.If the printer does not cope with the double-sided/single-sidedswitching function in one printing job, the dialog window is grayed outso as to inhibit selection (S2008).

In this window, the user can perform setting (S2009). If the user checksan exceptional setting check box “the following item is set differentfrom the document” at an item 2301 when the window in FIG. 23 is sodisplayed as to allow selection, the option “single-sided printing” or“double-sided printing” of the item 2301 is displayed as a selectableoption. If the user selects the option of the item 2301 and clicks the“OK” button, the set exceptional chapter setting is stored as oneattribute in the printing method item No. 1 in FIG. 5, and applied asprinting setting data of the page-storing file (S2010). At the sametime, the dialog window of FIG. 23 is closed. Also, a flag representingthe exceptional chapter setting is saved in the printing method item ofthe editing information file. FIG. 24 shows a printing preview in thiscase.

After the above printing setting, if the user selects the “printing”item from the “file” menu in the window in FIG. 22 or 24, a printersetting window is displayed. If the user clicks a button for confirmingthe start of printing, e.g., the “OK” button in this window, theprinting control application 104 advances to a printing sequence. Thiswill be explained below with reference to FIG. 25.

When a plurality of printers are available, the printer setting windowallows the user to set a desired printer from a list of printersdisplayed in a “printer for use” column. As described above, someprinters cope with switching between double-sided printing andsingle-sided printing during a printing job, but some do not cope withit. Hence, in selecting a printer for use, printing method setting inthe editing information file and page-storing file is tested todetermine whether the setting and printer function match each other.FIG. 26 shows a simple sequence.

The sequence of FIG. 26 is executed by the printing control applicationwhen one printer is selected from the “printer for use” column and theprinter for use changes before and after selection. The printing controlapplication 104 refers to “printing method” among the chapter attributesof the editing information file, and determines whether an exceptionalchapter setting exists (S2601). This determination is achieved byreferring to, e.g., a flag saved in correspondence with whether “thefollowing item is set different from the document” check box in FIG. 23has been checked.

If YES in step S2601, whether a printer selected as a printer for usecopes with the exceptional chapter setting, i.e., whether the printerhas a function of switching between double-sided printing andsingle-sided printing during a printing job is determined (S2602).

If a printer which does not cope with the exceptional chapter settinghas been selected, the printing control application 104 warns the userby a display or sound that the exceptional chapter setting in chapterattribute settings will be canceled if the current printer is determinedas a printer for use (S2603). The printing control application 104determines whether the OK button in the displayed warning dialog hasbeen clicked (S2604). If the user confirms the printer for use with theOK button or the like, the printing control application 104 cancels theexceptional chapter setting. That is, the printing control application104 cancels the exceptional chapter setting flag from the printingmethod among the chapter attributes of the editing information file, anddeletes setting data different from that of the document. This alsoapplies to the page-storing file. The printing control application 104deletes the printing method setting different from that of the wholedocument, from printing setting data of the sheet bundle (S2605).

The printing control application 104 switches the printer for use to anewly selected printer, ending printer selection (S2606).

If no exceptional chapter setting exists in step S2601 or the selectedprinter copes with the exceptional chapter setting in step S2602, theprocessing advances to step S2606, and the printing control application104 sets the selected printer as a printer for use.

If the user is determined in step S2604 not to express any agreementwith the OK button or the like, printer selection processing ends.

If a printer which cannot cope with printing has been selected, allchapter printing method items shown in No. 1 of FIG. 5 are changed to“follow the designation of the whole document”. The printing methoddesignation in the dialog is grayed out to inhibit selection.

<Processing Sequence by Printing Application>

An operation when the printing application (despooler) 105 receivesprinting instruction processing from the printing control application104 will be explained.

FIG. 25 is a flow chart showing processing of instructing a device onthe printing method, which is executed for each document or chapter bythe printing application 105 in printing after the above-describedprinting setting. This processing is executed at the start of a documentfrom step S2501, and executed at the start of a chapter from step S2503.As for the first chapter, processing is done subsequently to documentsetting.

If the printing control application 104 issues a printing instruction,it generates despool table data on the basis of the contents of thepage-storing file 103 and editing information file 111. FIG. 27 shows anexample of the despool table. This data has a structure obtained bymapping a job ticket which constitutes a page-storing file in the memorywith almost no change. Similar to the job ticket, the data containsprinting setting data set for each layer such as a whole document, sheetbundle, sheet, or physical page.

When settings comply with those of an upper layer, the job ticket neednot hold settings in each layer. In this case, the job ticket holds thevalues of unique setting items (unique items) which are not defined inan upper layer in settings of a sheet, sheet bundle, or physical page,and the values of only items (exceptional items) having exceptionalsettings different from those of an upper layer out of items common tosetting items in the upper layer. The despool table similarly holdsexceptional items and unique items as printing settings in FIG. 27 foreach layer.

The printing application 105 which has received the despool table loadsit to acquire the printing method of the whole document (S2501). Theprinting method of the whole document includes a printing method for thewhole document, i.e., single-sided printing/double-sided printing forthe whole document and printing method designation for a sheet bundle.For example, the despool table is regarded as a tree structure andscanned in the page order to read out printing setting data contained ineach node or the node of a physical page serving as a leaf. Printingsetting data of each layer such as a document, chapter, or sheet can beread out in the page order.

The printing application 105 instructs the device via the graphic engine121 on the printing method of the whole document (S2502).

The printing application 105 determines whether the device, i.e., theprinter for use copes with switching of the printing method (S2503).This determination can be performed by the same method as theabove-described checking method of the printing control application 104in designating a printing method as an exceptional chapter setting. Whena check result is held, this determination can also be achieved by theheld value.

If settings can be switched for each chapter, switching in each chapteris determined in step S2503 and subsequent steps.

The printing application 105 determines the start of a chapter (S2504).If a document node shifts to a sheet bundle node while reading outsetting data or original data from the despool table, this point can berecognized as the start of a sheet bundle, i.e., chapter. In thismanner, whether the current point is the start of a chapter, i.e., sheetbundle can be determined. If the current point is determined to be thestart of a chapter, the printing application 105 reads printing settingdata of the chapter (to be referred to as a chapter of interesthereinafter) and a printing method contained in the data (step S2505).The printing application 105 determines whether a printing method hasbeen designated as an exceptional setting of the chapter of interest(step S2506).

If no exceptional chapter setting exists, the printing application 105directly sets the printing method of the whole document as the printingmethod of the chapter, and sets the printing method as a parameter to besent to the device (S2507).

In step S2508, the printing application 105 instructs the device via thegraphic engine 121 on the printing method of the exceptional chaptersetting read in step S2505 or the printing method of the whole documentset in step S2507.

The printing application 105 performs the above sequence at the start ofthe document from step S2501 and at each chapter from step S2503.

For Windows®, this setting is done by issuing a reset DC from theprinting application 105 to the GDI to set DEVMODE and switchingsingle-sided/double-sided printing.

More specifically, the despooler sets attributes for each member of theDEVMODE structure, and then calls ResetDC( ) serving as a GDI functionby using DEVMODE as an argument. The DEVMODE contents are thentransmitted to the driver via the graphic engine, and the drivercontrols the printer on the basis of the attributes. The DEVMODEstructure may be contained in the page-storing file together withcontent data and printing setting data. In this case, a value in thepage-storing file is used. If no DEVMODE structure is contained in thepage-storing file, a value given as a return value from the driver viathe graphic engine upon calling CreateDC( ) serving as a GDI function bythe despooler to the driver is used.

An example of a single-sided/double-sided instruction will be described.When a document or chapter has single-sided printing setting, thedespooler sets the attribute value of single-sided printing in a memberwhich determines a single-sided/double-sided instruction in the DEVMODEstructure. After that, the despooler calls and issues ResetDC( ) servingas a GDI function by using DEVMODE as an argument. The DEVMODE value istransmitted to the driver via the graphic engine, and the driver readsout a double-sided/single-sided member and instructs the printer on thesingle-sided printing mode on the basis of the attribute value(=single-sided printing).

In the above fashion, printing methods are set for a document and eachchapter. A printing instruction command is issued to the graphic enginefor each printing page of each chapter to execute actual printingprocessing.

The printing instruction is a structure for issuing an instruction froman application to a device via a graphic engine and driver. The printinginstruction also depends on the device, and is created by the graphicengine 121 via the driver 106. For this purpose, the printingapplication 105 creates data to be processed by the graphic engine 121.The created data is identical to data created by an application programwhich prints via the graphic engine. That is, the printing applicationconverts a page designated as a printing target by the printing controlapplication and the printing settings of the page in accordance with adata format for transfer to the graphic engine.

The GDI serving as a graphic engine in Windows® manages imageinformation processing to a display card or printer. The GDI dynamicallylinks a module called a device driver, and performs output processing toeach device in order to absorb the dependence of the device such as adisplay card or printer. The device driver for a printer is the printerdriver 106. The printer driver 106 has a basic function group called DDI(Device Driver Interface) which is determined to be installed in thedevice driver in advance in accordance with the performance andfunction. The GDI converts an API (Application Programming Interface)call by the printing application into device driver data. The DDIfunction group is properly called by the GDI to generate theabove-mentioned printing instruction, and this instruction istransmitted to the printer 107 via the spooler 122. The GDI sequentiallyprocesses a printing request from the printing application 105 via theprinter driver. When the printer 107 is equipped with a controllercapable of processing a printing mode command called PDL (PrinterDescription Language), the printer driver 106 performs processing ofreplacing drawing information having a high degree of abstraction withthe PDL. This printing mode command includes a color command ormonochrome command.

The printing mode command created by the graphic engine 121 and printerdriver 106 is output from the printer driver 106, and temporarily heldby the spooler 122. The printing mode command is then transmitted fromthe spooler 122 to the printer 107 asynchronously to printing modecommand generation processing. In this processing, a printinginstruction is transmitted to the device.

If the printer 107 receives a command for switching the printing method,the printer 107 changes single-sided printing/double-sided printing inaccordance with the command, and performs actual image formationprocessing.

With this arrangement, the printing system according to the embodimentcan set a printing method different from that of a whole document in achapter desired by the user in a document created by an application.Printing is performed in accordance with the set printing method.

When an exceptional setting different from that of a whole document isdone for a chapter, whether this setting can be realized by a printer isdetermined. When the exceptional setting is possible, it can be reliablyrealized.

When the setting cannot be realized in the printer, the setting isinhibited to prevent any inconsistency between settings and an actualuse environment.

Also when the printer for use is changed and the setting cannot berealized in a newly designated printer for use, a warning to cancel suchexceptional chapter setting is generated. If the user agrees oncancellation, the exceptional chapter setting is canceled. Hence, evenif the printer is changed, inconsistency between settings and an actualuse environment can be prevented.

As described above, a document including both single-sided printing anddouble-sided printing can be executed by one printing job by generatingfor a document to be printed a printing job which holds single-sidedprinting or double-sided printing setting as a partial setting value,and causing the printer to execute the printing job. An expressivedocument can, therefore, be created, and efficient printing can beperformed in terms of the speed and maintenance cost without printingany wasteful blank page.

In FIG. 25, if the device copes with setting switching, a printingmethod setting instruction is issued to the device regardless of thepresence/absence of an exceptional chapter setting. Alternatively, theprinting method of an immediately preceding chapter is stored, and whendifferent printing methods are set in a chapter of interest andimmediately preceding chapter, a printing method setting instruction canbe issued to the device at the start of the chapter of interest. In thiscase, no exceptional chapter setting can be done unless the device copeswith switching of the printing method, and determination in step s2503can be omitted. In this case, issuing of a setting switching instructioncan be prevented when no setting is switched.

Note that the order of flow charts described in the embodiment can bechanged as far as processing is completed.

The present invention may be applied to a system including a pluralityof devices (e.g., a host computer, interface device, reader, andprinter) or an apparatus (e.g., a copying machine, printer, or facsimileapparatus) formed from a single device.

The object of the present invention is also achieved when a storagemedium which stores software program codes for realizing the functionsof the above-described embodiment are read out and executed by thecomputer (or the CPU or MPU) of a system or apparatus. In this case, theprogram codes read out from the storage medium realize the functions ofthe above-described embodiment, and the storage medium which stores theprogram codes constitutes the present invention.

The storage medium for supplying the program codes includes a Floppy®disk, hard disk, optical disk, magnetooptical disk, CD-ROM, CD-R,magnetic tape, nonvolatile memory card, and ROM.

The functions of the above-described embodiment are realized when thecomputer executes the readout program codes. Also, the functions of theabove-described embodiment are realized when an OS (Operating System) orthe like running on the computer performs part or all of actualprocessing on the basis of the instructions of the program codes.

Also, the functions of the above-described embodiment are realized whenthe program codes read out from the storage medium are written in thememory of a function expansion board inserted into the computer or thememory of a function expansion unit connected to the computer, the CPUof the function expansion board or function expansion unit performs partor all of actual processing on the basis of the instructions of theprogram codes.

As has been described above, according to the present invention, adocument including both single-sided printing and double-sided printingcan be printed by one printing job by generating a printing job whichholds single-sided printing or double-sided printing setting as apartial setting value in a document to be printed, and causing a printerto execute the printing job. An expressive document can be created, andefficient printing can be performed in terms of the speed andmaintenance cost without printing any wasteful blank page.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the appended claims.

1. An information processing apparatus for setting a print setting to adocument containing a plurality of groups, comprising: a setting unit,configured to accept an instruction from a user for setting differentprint settings for a whole document as a first setting and for a groupcontained in the document as a second setting, respectively for a printsetting representing whether to perform single-sided printing ordouble-sided printing on a paper sheet; a direction unit, configured todirect a printing apparatus to print the document in which the secondsetting is set to the group contained in the document when the printingapparatus has a capability of switching a print setting between groupscontained in the document, and configured to direct a printing apparatusto print the document in which the first setting is set to the groupcontained in the document when the printing apparatus has no capabilityof switching the print setting between groups contained in the document.2. A method for setting a print setting to a document containing aplurality of groups, comprising: a setting step of accepting aninstruction from a user for setting different print settings for a wholedocument as a first setting and for a group contained in the document asa second setting, respectively for a print setting representing whetherto perform single-sided printing or double-sided printing on a papersheet; and a direction step of directing a printing apparatus to printthe document in which the second setting is set to the group containedin the document when the printing apparatus has a capability ofswitching a print setting between groups contained in the document, anddirecting a printing apparatus to print the document in which the firstsetting is set to the group contained in the document when the printingapparatus has no capability of switching the print setting betweengroups contained in the document.
 3. A non-transitory computer-readablestorage medium for setting a print setting to a document containing aplurality of groups, comprising: a setting step of accepting aninstruction from a user for setting different print settings for a wholedocument as a first setting and for a group contained in the document asa second setting, respectively for a print setting representing whetherto perform single-sided printing or double-sided printing on a papersheet; and a direction step of directing a printing apparatus to printthe document in which the second setting is set to the group containedin the document when the printing apparatus has a capability ofswitching a print setting between groups contained in the document, anddirecting a printing apparatus to print the document in which the firstsetting is set to the group contained in the document when the printingapparatus has no capability of switching the print setting betweengroups contained in the document.
 4. The apparatus according to claim 1,wherein said direction unit directs the printing apparatus to print thedocument in which the first setting is set to a part of the documentwithout groups to which the second setting is set.
 5. The apparatusaccording to claim 1, further comprising a confirm unit, configured toconfirm directing the printing apparatus to print the document inaccordance with the first setting set to the whole document by thedirection unit or canceling printing when the printing apparatus has nocapability of switching the print setting between groups contained inthe document.
 6. The method according to claim 2, wherein in thedirection step, the printing apparatus is directed to print the documentin which the first setting is set to a part of the document withoutgroups to which the second setting is set.
 7. The method according toclaim 2, further comprising a confirm step of confirming directing theprinting apparatus to print the document in accordance with the firstsetting set to the whole document by the direction unit or cancelingprinting when the printing apparatus has no capability of switching theprint setting between groups contained in the document.
 8. Thenon-transitory computer-readable storage medium according to claim 3,wherein in the direction step, the printing apparatus is directed toprint the document in which the first setting is set to a part of thedocument without groups to which the second setting is set.
 9. Thenon-transitory computer-readable storage medium according to claim 3,further comprising a confirm step of confirming directing the printingapparatus to print the document in accordance with the first setting setto the whole document by the direction step or canceling printing whenthe printing apparatus has no capability of switching the print settingbetween groups contained in the document.